Numerical control method

ABSTRACT

NC programs (11a-11d) are provided for corresponding ones of movable elements for prescribed axes, and the movable elements are moved by performing numerical control processing in numerical controllers (12a-12d) based on the NC programs. A plurality of axes to be synchronously controlled are designated by a synchronous axis command (SANC) inserted in the main NC program (11a), queuing commands (WNC) are inserted in the NC programs conforming to the movable elements which include the designated axes, and the corresponding movable elements are moved and controlled by performing numerical control processing while synchronization is achieved by the queuing commands.

BACKGORUND OF THE INVENTION

Field of the Invention

This invention relates to a numerical control method and, moreparticularly, to a numerical control method in which synchronouslycontrolled axes are designated by an NC program (numerical control).

SUMMARY OF THE INVENTION

A numerical control apparatus sometimes performs predetermined machiningwhile synchronously controlling two or more movable elements. Forexample, in an NC four-axis lathe, first and second NC programs eachhaving a queuing command are provided for corresponding ones of firstand second tool rests, and a workpiece is subjected to machining byindependently controlling the movement of the tool rests in accordancewith the corresponding first and second NC programs whilesynchronization is achieved by virtue of the queuing commands. FIG. 8shows an example of such first and second NC programs, in which 1a, 2adenote program numbers, 1b, 2b program portions for executing firstmachining, 1c, 2c first queuing commands, 1d, 2d program portions forexecuting second machining, 1e, 2e second queuing commands, 1f, 2fprogram portions for executing third machining, 1g, 2g third queuingcommands, 1h, 2h program portions for executing fourth machining, 1i, 2ifourth queuing commands, 1j, 2j program portions for executing fifthmachining, and 1k, 2k tape end commands.

In accordance with the first and second NC programs, the first andsecond tool rests subject the workpiece to machining simultaneously bythe program portions 1b, 2b (simultaneous independent operation), andthe tool rest which finishes machining first waits, in response to thefirst queuing command "M100", until the NC controller of the other readsin the first queuing command "M100". When the NC controller of the otherreads in "M100", simultaneous independent operation is performed by theprogram portions 1d, 2d, and the tool rest which finishes machiningfirst similarly waits, in response to the second queuing command "M200",until the NC controller of the other reads in the second queuing command"M200". Thereafter, similar four-axis control is carried out andsimultaneous four-axis machining ends in response to the tape endcommand M30.

Conventionally, axes capable of being synchronously controlled are setin advance by parameters and synchronous control is performed only withregard to the set axes.

For example, assume that the numerical control apparatus of asimultaneous four-axis lathe has been set by parameters so as to becapable of performing synchronous control solely with regard to the axesconstituting two tool rests for turning work. If the apparatus is tocontrol a machine tool having, in addition to these two tool rests forturning, a tool rest for separate turning work, a tool rest for drillingor a tool rest for grooving, it will be possible to synchronouslycontrol only those axes constituting the two turning tool rests whichhave been set by the parameters; the other tool rest for turning,drilling or grooving will not be synchronously controllable.

Consequently, a problem encountered in the prior art is that even ifsynchronous control can be performed, axes which do not participate inmachining may exist, as a result of which machining efficiency declines.

Another problem in the prior art is that axes that are synchronouslycontrollable are limited to those capable of being controlledindependently of one another.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide anumerical control method through which a plurality of synchronouslycontrolled axes can be designated at will by NC programs duringautomatic operation, thereby eliminating idling axes and making possiblehighly efficient machining.

Another object of the present invention is to provide a numericalcontrol method through which a plurality of superposed axes can besynchronously controlled, including an axis and another axis locatedthereon, yet a further axis located on this other axis, and so on.

According to the present invention, an NC program provided for eachcorresponding movable element on each prescribed axis. A plurality ofaxes to be synchronously controlled are designated from a prescribed NCprogram. Quening commands are inserted in the NC programs conforming tothe movable elements which include the designated axes. Thecorresponding movable elements are moved and controlled whilesynchronization is achieved by the queuing commands. In accordance withthe invention, a plurality of synchronously controlled axes can bedesignated at will by NC programs, thereby eliminating idling axes andmaking possible highly efficient machining.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a numerical control apparatus according tothe present invention;

FIG. 2 is a view for describing the construction of a compound machine;

FIG. 3 is a view for describing machining;

FIG. 4 is a view showing the state prior to the start of synchronousmachining;

FIG. 5 is a view showing the state at the end of synchronous machining;

FIGS. 6 and 7 are views for describing another synchronous controloperation according to the present invention; and

FIG. 8 is a view for describing NC programs having queuing commands.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a block diagram of a numerical control apparatus according tothe present invention.

Numeral 11 denotes an NC tape memory in which NC tapes 11a-11d have beenprepared for respective movable elements (tool rests, tables, etc). Forexample, assume that the machine tool to be numerically controlled is acompound machine of the kind shown in FIG. 2. More specifically, assumethat the numerically controlled machine tool is a compound machinehaving the following three functions:

(i) A workpiece WK grasped by a chuck CHK is moved along X1 and Z1 axesby a mechanism, not shown, whereby the workpiece is subjected todrilling, boring or the like by a fixed cutter C1;

(ii) the workpiece is subjected to turning work by cutters C2, C3attached to two turning tool rests TR2, TR3 capable of moving along X2,Z2 axes and X3, Z3 axes, respectively; and

(iii) the workpiece is subjected to turning by a cutter C4 attached to atool rest T4 capable of moving along X4, Z4 axes on the tool rest TR3.The four NC tapes 11a, 11b, 11c, 11d are provided for moving theworkpiece WK and the tool rests TR2-TR4, respectively. The main NC tape11a includes a synchronous axis command SANC for designating synchronousaxes. A queuing command (e.g., "M100") WNC is inserted in the NC tapecorresponding to each synchronous axis, and NC program portions M1-M4for synchronous machining are inserted in respective ones of the NCtapes following the queuing commands. It should be noted that asynchronous axis command has the following format:

    G□□ΔO∇ . . . ;

Here "G□□" is a G code for synchronous axis designation, in which □□ isa suitably decided two-digit numerical value, and Δ, O, ∇ are the namesof the synchronous axes.

Numerals 12a-12d denote numerical controllers for performing numericalcontrol processing based on the NC tapes 11a-11d. The main numericalcontroller 12a has a synchronous axis memory AXM for storing adesignated synchronous axis, a flag memory FRM for storing a flag F1which indicates that a queuing command has been issued, and a queuingcommand memory WTM for storing whether the NC tapes 11a-11d havingcommanded queuing. The other numerical controllers 11b-11d are providedwith flag memories FRM for storing flags F2-F4 indicating whetherqueuing has been commanded.

Numerals 13a-13b denote axis controllers provided for corresponding onesof the numerical controllers 12a-12d, respectively. These controllersperform pulse distribution operations, acceleration/decelerationcontrol, etc.

The overall operation of FIG. 1 will now be described on the assumptionthat the results shown in FIG. 3 are obtained, so that hole machining W1is performed by the cutter C1, turning work W2 is performed by thecutter C2, turning work W3 is performed by the cutter C3, and turningwork (threading) is performed by the cutter C4.

The following NC data for designating synchronous axes is inserted inthe main NC tape 11a at an appropriate location:

    G□□X1 Z1 X2 Z2 X3 Z3 X4 Z4;

and the queuing command "M100" is inserted in front of the NC programportion M1 for performing the hole machining W1. The queuing command"M100" is inserted in the NC tapes 11b-11d ahead of the NC programportions M2-M4 for performing the turning machining operations W2-W4,respectively. Furthermore, NC program portions which position the toolrests TR2-TR4 in the states shown in FIG. 4 are inserted ahead of thequeuing commands "M100" of the tapes 11a-11d.

In response to the start of numerical control, the numerical controllers12a-12d perform predetermined numerical control by reading NC data fromthe corresponding NC tapes 11a-11d one block at a time and, in responseto reading of the queuing command "M100", turn on the correspondingflags F1-F4 and wait in synchronous fashion.

The numerical controller 12a stores the names of the synchronous axes,which have been designated by the synchronous axis command "G□□ . . . "commanded ahead of the queuing command "M100", in the synchronous axismemory AXM. These synchronous axes are retained until updated by anothersynchronous axis command.

Next, the numerical controller 11a turns on the flag F1 in response tothe queuing command "M100" and performs monitoring to determine whetherthe queuing command "M100" has been read from the NC tapes correspondingto the synchronous axes. That is, the controller refers to the flagsF1-F4 to determine whether "M100" has been read from the NC tapes, andstores the results in the queuing command memory WTM.

If the queuing command "M100" has been read from all NC tapescorresponding to the axes designated as synchronous axes, each numericalcontroller is instructed to start synchronous operation. At the start ofsynchronous operation, each of the movable elements (the workpiece WKand the tool rests TR2-TR4) are positioned in the states shown in FIG.4.

In response to being instructed to start synchronous operation, thenumerical controllers 12a-12d perform numerical control processing basedon the respective NC program portions M1-M4, whereby the machiningoperations W1-W4 (FIG. 3) are performed in synchronous fashion.

By virtue of the foregoing operations, the movable elements attain thestates shown in FIG. 5, by way of example, when synchronous machining iscompleted. As a result, the synchronous machining operations W1-W4 arecompleted.

FIGS. 6 and 7 are views for describing another synchronous machiningoperation in accordance with the present invention. In the arrangementof the compound machine shown in FIG. 6, CHK represents a chuck, WKrepresents a workpiece, and

(i) C1 denotes a cutter controlled by axes X1, Z1 and capable of movingindependently;

(ii) C2 denotes a cutter controlled by axes X2, Z2 and capable of movingindependently;

(iii) C3 denotes a cutter controlled by axes X3, Z3 and capable ofmoving independently;

(iv) C4 denotes a cutter controlled by axes X4, Z4 and influenced byaxes X3, Z3; and

(v) C5 denotes a cutter controlled by axes X5, X5 and influenced by axesX4, Z4. More specifically, the cutters C1, C2 and C3 each moveindependently along the X and Z axes, but movement of the cutter C4 isinfluenced by movement of the cutter C3. Accordingly, the cutter C4 isthe "child" of the cutter C3. Further, movement of the cutter C5 isinfluenced by movement of the cutter C4, so that the cutter C5 is the"child" of the cutter C4 and the "grandchild" of the cutter C3.

A case will now be described in which the machining shown in FIG. 7 iscarried out by synchronously controlling the cutters C1-C5. FIG. 7 isthe state which prevails when synchronous machining has ended. Theamount of movement of each cutter will be considered letting ΔXn, ΔYnrepresent the amount of movement of cutter Cn (n=1-5).

    ______________________________________                                        Cutter C1:                                                                              If cutter diameter CD1 is the same as                                         hole diameter D1, then                                                        ΔX1 = 0, ΔZ1 = H1 and the cutter cuts                             into the workpiece along the Z axis.                                Cutter C2:                                                                              If cutter diameter CD2 < groove                                               width D2, then                                                                ΔX2 = H2, ΔZ2 = D2 and the cutter digs                            into the workpiece along the X axis and                                       cuts into the workpiece along the Z                                           axis.                                                               Cutter C3:                                                                              If cutter diameter CD3 < groove                                               width D3, then                                                                ΔX3 = H3, ΔZ3 = D3 and the cutter digs                            into the workpiece along the X axis and                                       cuts into the workpiece along the Z                                           axis.                                                               Cutter C4:                                                                              If cutter diameter CD4 < groove                                               width D4, then                                                                ΔX4 = H4, ΔZ4 = D4 and the cutter digs                            into the workpiece along the X axis and                                       cuts into the workpiece along the Z                                           axis. However, since cutter C3 which                                          influences cutter C4 moves by ΔX3, ΔY3,                           in actuality we have                                                         ΔX4 = H4 - X3 = H4 - H3                                                                        (1)                                                   ΔZ4 = D4 - Z3 = D4 - D3                                                   so that this cutter digs                                                      into the workpiece along the X axis and                                       cuts into the workpiece along the Z                                           axis accordingly.                                                   Cutter C5:                                                                              If cutter diameter CD5 < groove                                               width D5, then                                                                ΔX5 = H5, ΔZ5 = D5 and the cutter digs                            into the workpiece along the X axis and                                       cuts into the workpiece along the Z                                           axis. However, since cutter C4 which                                          influences cutter C5 moves by ΔX4, ΔY4,                           in actuality we have                                                        ΔX5                                                                          = H5 - X4                                                                     = H5 - (H4 - H3)                                                              = H5 - H4 + H3                                                           ΔZ5                                                                          = D5 - Z4              (2)                                                    = D5 - (D4 - D3)                                                              = D5 - D4 + D3                                                           so that this cutter digs                                                      into the workpiece along the X axis and                                       cuts into the workpiece along the Z                                           axis accordingly.                                                     ______________________________________                                    

Thus, if the master-slave relationship, namely a parent-childrelationship, is specified beforehand with regard to the movableelements and the numerical controllers (12a-12d in FIG. 1) are adaptedin such a manner that the child receives the amount of movement of theparent from the parent and the operation of Eq. (1) or Eq. (2) isperformed at the time of synchronous control, then the NC program ofeach cutter need only be programmed to define the shape desired to becut and the programmer need not be concerned with whether a cutter is a"parent", "child", "grandchild", etc.

In accordance with the present invention as set forth above, thearrangement is such that a plurality of axes to be synchronouslycontrolled are designated from a predetermined program, queuing commandsare inserted in the NC programs conforming to the designated axes, andthe corresponding movable elements are moved and controlled whilesynchronization is achieved by the queuing commands. As a result, aplurality of synchronously controlled axes can be designated at will bythe NC programs, thereby eliminating idling axes and making possiblehighly efficient machining. In addition, according to the invention, itis possible to synchronously control even axes that are not controllableindependently of one another, i.e., axes that have a"parent-child-grandchild" relationship.

We claim:
 1. A numerical control method in which NC (numerical control)programs are provided for controlling corresponding movable elementsperforming machining by controlling prescribed axes, each movableelement being moved by performing numerical control processing based onsaid NC programs, said method comprising the steps of:a) designating aplurality of synchronous control axes in one of the NC programs; b)inserting a queuing command in each of the NC programs corresponding tothe movable elements performing machining which include said synchronouscontrol axes; and c) controlling movement of the corresponding movableelements while synchronization is achieved by said queuing commands;wherein step (c) further comprises the steps of:c1) inserting saidqueuing command of each of said NC programs in front of a command for amachining operation to be synchronously controlled; c2) determiningwhether queuing has been commanded by any of the NC programs; c3)determining, if queuing has been commanded from one of the NC programs,whether queuing has been commanded from all of the other NC programs;and c4) executing, when queuing has been commanded from all of the NCprograms, the command for the next machining operation.
 2. A numericalcontrol method according to claim 1, wherein when there are two movableelements to be synchronously controlled and movement of one movableelement influences movement of another movable element, amain-subordinate relationship is specified in advance in which oneelement is adopted as a main movable element and the other element as asubordinate movable element, and step c) includes revising, by numericalinformation from the main movable element, numerical information in saidcommand for the machining operation in the subordinate movable element.